package com.sqfw.project.wp.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sqfw.framework.aspectj.lang.annotation.Excel;
import com.sqfw.framework.web.domain.BaseEntity;

import java.util.ArrayList;
import java.util.List;

/**
 * 部门字典表对象 sys_stru_bak
 * 
 * @author lx
 * @date 2023-06-09
 */
public class SysStruBak extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long autoId;

    /** 父节点ID */
    @Excel(name = "父节点ID")
    private Long pid;

    /** 组织架构名称 */
    @Excel(name = "组织架构名称")
    private String struName;

    /** 操作人 */
    @Excel(name = "操作人")
    private String operator;

    /** 组织架构编码 */
    @Excel(name = "组织架构编码")
    private String struCode;

    /** 信息状态：n-正常；l-锁定不可用；d-已删除 */
    @Excel(name = "信息状态：n-正常；l-锁定不可用；d-已删除")
    private String struState;

    /** 组织架构层级 */
    @Excel(name = "组织架构层级")
    private String struLevel;

    /** 显示顺序 */
    @Excel(name = "显示顺序")
    private String struIndex;

    /** 层级名称 */
    @Excel(name = "层级名称")
    private String levelName;

    /** 拼音名称 */
    @Excel(name = "拼音名称")
    private String pinyinName;

    /** 拼音首字母名称 */
    @Excel(name = "拼音首字母名称")
    private String pinyinSimpleName;

    /** 类型 1,部门 0,分类 */
    @Excel(name = "类型 1,部门 0,分类")
    private String type;

    /** 工单发送类型 0,电子 1,纸质 */
    @Excel(name = "工单发送类型 0,电子 1,纸质")
    private String sendType;

    private List<String> struLevels;

    /** 子项 */
    private List<SysStruBak> children = new ArrayList<SysStruBak>();

    public void setAutoId(Long autoId)
    {
        this.autoId = autoId;
    }

    public Long getAutoId()
    {
        return autoId;
    }
    public void setPid(Long pid)
    {
        this.pid = pid;
    }

    public Long getPid()
    {
        return pid;
    }
    public void setStruName(String struName) 
    {
        this.struName = struName;
    }

    public String getStruName() 
    {
        return struName;
    }
    public void setOperator(String operator) 
    {
        this.operator = operator;
    }

    public String getOperator() 
    {
        return operator;
    }
    public void setStruCode(String struCode) 
    {
        this.struCode = struCode;
    }

    public String getStruCode() 
    {
        return struCode;
    }
    public void setStruState(String struState) 
    {
        this.struState = struState;
    }

    public String getStruState() 
    {
        return struState;
    }
    public void setStruLevel(String struLevel) 
    {
        this.struLevel = struLevel;
    }

    public String getStruLevel() 
    {
        return struLevel;
    }
    public void setStruIndex(String struIndex) 
    {
        this.struIndex = struIndex;
    }

    public String getStruIndex() 
    {
        return struIndex;
    }
    public void setLevelName(String levelName) 
    {
        this.levelName = levelName;
    }

    public String getLevelName() 
    {
        return levelName;
    }
    public void setPinyinName(String pinyinName) 
    {
        this.pinyinName = pinyinName;
    }

    public String getPinyinName() 
    {
        return pinyinName;
    }
    public void setPinyinSimpleName(String pinyinSimpleName) 
    {
        this.pinyinSimpleName = pinyinSimpleName;
    }

    public String getPinyinSimpleName() 
    {
        return pinyinSimpleName;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setSendType(String sendType) 
    {
        this.sendType = sendType;
    }

    public String getSendType() 
    {
        return sendType;
    }

    public List<SysStruBak> getChildren() {
        return children;
    }

    public void setChildren(List<SysStruBak> children) {
        this.children = children;
    }

    public List<String> getStruLevels() {
        return struLevels;
    }

    public void setStruLevels(List<String> struLevels) {
        this.struLevels = struLevels;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("autoId", getAutoId())
            .append("pid", getPid())
            .append("struName", getStruName())
            .append("createTime", getCreateTime())
            .append("operator", getOperator())
            .append("remark", getRemark())
            .append("struCode", getStruCode())
            .append("updateTime", getUpdateTime())
            .append("struState", getStruState())
            .append("struLevel", getStruLevel())
            .append("struIndex", getStruIndex())
            .append("levelName", getLevelName())
            .append("pinyinName", getPinyinName())
            .append("pinyinSimpleName", getPinyinSimpleName())
            .append("type", getType())
            .append("sendType", getSendType())
            .toString();
    }
}
